System and method for an online speaker patch-through

ABSTRACT

Systems and methods described herein may be incorporated into a “service marketplace” system that matches users with potential information or service providers and establishes a real-time communications connection between the user and a selected information provider. In one embodiment, an alternate is selected for the user when the service provider that the user is trying to connect with cannot be reached. In an alternative embodiment, the alternates can be used in conjunction with the service provider that does connect with the user in order to provide a second opinion or possibly deeper background information. In one embodiment, the service providers can either be a live person at the other end of the connection or a recording.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent application Ser. No. 09/764,021, filed Jan. 16, 2001 entitled “System and Method for an Online Speaker Patch-Through,” which is related to U.S. patent application Ser. No. 09/414,710, filed Oct. 8, 1999 entitled “System for Providing Services in Real-Time over the Internet,” which is now abandoned. The entire contents of the above-referenced applications are incorporated herein by reference.

FIELD OF THE INVENTION

The present invention relates generally to electronic commerce using digital and analog networks. More specifically, the present invention relates to a network application for connecting clients with an alternate service provider if the selected service provider is unavailable.

BACKGROUND OF THE INVENTION

Consumers interested in acquiring services must first identify a service provider who is capable of providing the desired services. At present, this usually means perusing a telephone directory, which can become frustrating and time-consuming if the service providers telephoned are not immediately available. Also, a phone book (whether a bound paper book or an electronic directory) is also not very effective if the service provider's business category is not known.

Over the years, a number of systems have been developed that partially address this problem. In particular, these include systems that attempt to match potential customers with potential service providers. They range from free bulletin-board-style Internet web sites to sophisticated Internet-based consulting services.

One such system is similar to an electronic “marketplace.” Users submit via the Internet a description of the services they need to an Internet-based “exchange.” These descriptions include the subject matter of the requested service, time constraints for service delivery, and the proposed price to be paid for the services. The exchange then identifies potential service providers and facilitates bidding for the job by the selected service providers, some of whom may or may not have been selected previously by the user. Once the service providers' bids have been received by the user, the user sends a full job request to one or more service providers of particular interest. The service providers who remain interested in the proposed work then submit a final bid to the user. This bid may also include the service provider's particular qualifications and conditions for accepting the work. After the work has been completed, the service provider contacts the exchange for payment. Although this system is beneficial, users still do not immediately know if a service provider is available and the response from the service provider is neither immediate nor direct.

Another prior art system maintains a list of independent professors available for answering questions via the Internet. The system functions as a middleman between the customer and the professors. The customer contacts the system via the Internet with a question. The system then contacts various service providers within the appropriate field via the Internet and forwards the customer's question to the service providers. Here too, customers do not immediately know if a service provider is available, and the response from the service provider is not immediate.

There is another system that allows users to post via the Internet questions for service providers related to specific topical categories. However, there is no guarantee that a service provider will answer the question as the user does not pay for the services and the service providers are not paid. Again, presuming the service provider is willing to answer a question, users do not immediately know if a service provider is available and the response from the service provider is neither immediate nor direct.

Another system allows users to post questions to an electronic “bulletin board.” Other users, whether service provider or not, provide answers or comments on a voluntary basis. This system, though useful, suffers from many of the same problems as the system described above.

What is needed is a system and method for a user to select an information provider and be connected to that provider in real time. What is further needed is a method and system for finding the user an alternate service provider when the service provider that the user has selected is not available.

SUMMARY OF THE INVENTION

The systems and methods described herein may be incorporated into a “service marketplace” system that matches users with potential information or service providers and establishes a real-time communications connection between the user and a selected information provider. In one embodiment, an alternate is selected for the user when the service provider that the user is trying to connect with cannot be reached. In an alternative embodiment, the alternates can be used in conjunction with the service provider that does connect with the user in order to provide a second opinion or possibly deeper background information. In one embodiment, the service providers can either be a live person at the other end of the connection or a recording. For example, the recordings can be used as samples for the user to test out before going on to the live service provider.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements, and in which:

FIG. 1 illustrates a system for identifying information providers and connecting customers with information providers in accordance with one embodiment of the invention.

FIG. 2 illustrates an alternative embodiment of the system for identifying information providers and connecting customers with information providers.

FIG. 3 illustrates one embodiment of an information provider's listing page.

FIG. 4 diagrams in a flowchart an embodiment of a method performed when a user attempts to reach a service provider who is not available for communication

FIG. 5 diagrams in a flowchart an embodiment for producing an alternate service provider for the user when the selected service provider is unavailable.

FIG. 6 diagrams in a flowchart an embodiment for selecting a service provider.

FIG. 7 diagrams in a flowchart an alternate embodiment of a method performed when a user attempts to reach a service provider.

FIG. 8 diagrams in a flowchart an alternate embodiment of a callback method in the event that a connection attempt between service provider and user is unsuccessful.

DETAILED DESCRIPTION OF THE INVENTION

The systems and methods of the present invention may be incorporated as part of a network application that establishes a real-time communications connection between an information provider and a customer or user through a communications network, such as telephone network, a computer network, wireless communications network, etc. The network application in one embodiment would be for a method of providing a user who has selected an information provider from a list or database with an alternative information provider. These alternative information providers could be used as replacements for the selected information provider if that service provider is absent when the user attempts a connection. The alternate information providers can also be supplemental to the selected information provider. The term information provider can refer to either a live service provider or a recording made by a service provider.

FIG. 1 shows one embodiment of a system capable of incorporating one embodiment of the invention. User computers (“customer computers”) 110 and information provider computers (“service provider computers”) 120 are connected through a network 150 (such as the Internet) to a host computer or web server (“controller computer”) 130. Persons skilled in the art will recognize that the controller computer 130 may consist of more than one computer working together to provide the controller computer functions described herein. The users (customers) and information providers (service providers) each have telephones 140 that are connected to the telephone network 160. In FIG. 1, the computer network 150 and telephone network 160 are shown as two separate entities, though persons skilled in the art will realize that they can overlap, as illustrated in FIG. 2.

In one embodiment, the controller computer 130 has the functionality of a standard web server, capable of interacting dynamically via the service provider computers 120 and the customer computers 110 with service providers and customers, respectively. In addition to the standard web server operation, the controller computer 130 is linked to a telephone interface 170 that enables the controller computer 130 to set up, initiate, confirm, and/or track conversations between the customers and service providers. The controller computer 130 has the ability to establish a real-time communications connection between service providers and customers to convey information in real-time in an interactive manner.

In accordance with the embodiment shown in FIG. 1, the customer computers 110 and the service provider computers 120 are connected to the controller computer 130 through the network 150. Customers and service providers use their computers to connect to the Internet network 150. Once a connection has been established, service providers and customers will enter the URL, or Internet address, of the controller computer 130, and a plurality of logic units 131-134 within the controller computer establishes a computer connection with the customer computer 110 and the service provider computer 120. In one embodiment, after the computer connection has been established between the controller computer 130 and the service provider and customer computers, 120 and 110, respectively, a plurality of logic units 131-134 within the controller computer presents a web page on the service provider and customer computers.

Typically, customers and service providers register before customers can purchase services or information and before service providers can offer their services or information through the web site. During registration, the customers and the service providers are requested to submit certain information, such as a username and password. Customers may be requested to submit credit card or other financial information. Service providers may or may not be requested to submit credit card or other financial information. Once the requested information has been submitted, the data is stored in the database 310 in an account set up for the service provider and in a user account set up for the customer.

A plurality of logic units 131-134 within the controller computer 130 may present a web page on the customer computer 110 and the service provider computer 120 through which the plurality of logic units 131-134 prompts the customer and the service provider to submit the requested registration information. The plurality of logic units 131-134 are linked with the database 135 and may automatically set up the accounts and automatically store the submitted registration information in the appropriate accounts on the database 135.

Service providers typically submit a description or a listing for each service they will provide through the web site. After the controller computer 130 has stored the description or listing, the service described may be offered to all of the users who browse the web site. Access to the web site may be established as described above, with the customer using a user computer (“customer computer”) 110 to connect to a network 150 and then entering the URL of the controller computer 130. A logic unit of the plurality of logic units 131-134 within the controller computer 130 then establishes a computer connection with the customer computer 110.

After the computer connection has been established, in one embodiment customers will have the option of executing a keyword search for service providers. The keyword search can be executed from a web page presented by a logic unit of the plurality of logic units 131-134 of the controller computer 130 on the customer computer 110. In an alternative embodiment, the system can be accessed by a third party website. A keyword search typically consists of scanning a database for words that match the keywords entered. In this embodiment, the keyword search will be executed against the stored descriptions and listing data. In one embodiment, customers will view a list of service providers matching the keyword search criteria on a web page presented by the logic unit of the plurality of logic units 131-134 on the customer computer. Customers will have the option of viewing the service providers listed according to price, availability, or customer evaluations in either ascending or descending order, though the service providers can be listed in any number of ways. As an alternative to a keyword search, customers can select a category to view a predetermined list of service providers.

In an alternative embodiment in which the customer all ready knows the service provider that the customer wishes to contact, that customer can dial an 800 number to connect with the service provider. The customer enters the extension of the service provider, as well as the customer's personal identification number and the telephone number listed in the customer's personal information file. The system then attempts to connect the user with the service provider.

In one embodiment, a logic unit of the plurality of logic units 131-134 within the system presents, in response to a customer selection of a service provider from the list, a listing page that contains additional information about the selected service provider and the selected information service. FIG. 3 illustrates an example of a listing page that provides more detailed information about a service provider that goes by the name of Jim. The listing page 300 shown in FIG. 3 provides a brief description the information services provided 310 and may also include rating information 320, a picture of the service provider 330, a rate or price per minute 340, as well as other information that the potential customer may find helpful such as the education background of the service provider 345. The listing page 300 may also include an icon with hyperlink 350 that shows whether or not the service provider is available, and if he is, it may provide hyperlinks that enable the customer to call 350 or email 355 the service provider. The information provided in a listing page may be conveyed in other forms, e.g., instead of a picture or photo 330 the service provider may choose to be represented with an avatar or other information-rich graphic, and may include other types of information in addition or instead of the information shown in the embodiment of FIG. 3.

When a customer decides to receive information, services, or just pleasant conversation from the service provider, the customer may request to have a real-time communications connection established with the service provider. For example, from the listing page illustrated in FIG. 3, a customer may click on the “Call Now” hyperlink 350 to send such a request and, in response, a logic unit of the plurality of logic units 131-134 within the system attempts to establish a real-time communications connection between the customer and the service provider. This real-time communications connection can take the form of a telephone connection, website chat, or voice connection over the Internet.

In one embodiment, if a connection should be attempted and the service provider proves to be unavailable to respond, a logic unit of the plurality of logic units 131-134 within the controller will initiate a search of the system's list of service providers for an alternate service provider. In one embodiment, the list of alternate service providers will be made up of service providers who match the selected service provider when compared using a pre-established set of criteria. The criteria can either be formulated ahead of time by the system administrator or entered into the system by the user. The criteria used could include subject matter and/or probably price.

In one embodiment, if the search fails to turn up a matching alternate service provider (e.g., appropriate expertise and price range, or whatever other criteria the system is using) the system will not give the user the option of accepting an alternate. If the search does turn up someone who meets all the appropriate criteria and the user accepts, the user will be connected through, or “patched through”, to the available service provider.

In one embodiment, the service provider would be able to set up ahead of time a referral, as described above, in case a call should come while they were unavailable. For example, she can elect to have the call patched through to a backup service provider of her choice, have one selected from the database for her, or have the user just be told that the service provider was not available and to try back later. In one embodiment, if the service provider chooses to refer the call to someone else or to the database, that service provider will receive a percentage of whatever fees were earned. This may be an incentive for the service provider to refer.

FIG. 4 shows one embodiment of a system for referral, or “patch-through”. In step 400, the user, or “Seeker”, is provided with a list of service providers, or “Speakers”, on a topic of the Seeker's choosing. The Seeker selects a Speaker of his choosing in step 410. In step 420, the system then attempts to connect the Seeker with the Speaker in real time via a choice of methods as described above. If the connection is successful at step 430, then the system goes to step 440 and the Speaker and the Seeker will communicate in real time. In step 450, the Seeker's account is billed for the amount of time spent communicating with the Speaker at the Speaker's posted rate. The system then takes for itself in step 460 a percentage of the amount billed. If the connection is not successful the first time, the system will try again. In step 470, the system keeps track of how many attempts are made. In step 480, if the system has tried a predetermined number of times (T), then the system will try to find the Seeker an alternate Speaker in step 500.

A method for Finding an alternate Speaker is shown in FIG. 5. First, in step 510 the system checks whether the Speaker has an arrangement with a second Speaker to refer to the second Speaker any Seekers for which the initial Speaker is not available. If the initial Speaker does have a “covering Speaker”, then in step 520 the Seeker is asked if he wishes to use the covering Speaker. If the Seeker does want to communicate with the covering Speaker, then the system proceeds to step 530 and attempts to connect them using the method previously discussed 420. If the Seeker does not want to use the covering Speaker, the Seeker is asked in step 540 if they would prefer a Speaker selected from the database. If the Seeker does prefer the database option, then the system proceeds to step 550 and the database of Speakers is searched. The search could be limited to the Speakers in the same subject matter as the original Speaker. If the Seeker chooses not to have the database pick an alternate Speaker, the system proceeds to step 560 and the connection is terminated. If the system finds in step 570 an alternate Speaker, then in step 580 the Seeker is asked if he we wishes to communicate with the alternate Speaker. If the Seeker does want to use the alternate, then the system in step 590 attempts to connect them using the method previously discussed 420. If the system was unable to find a qualified Speaker, it then informs the Seeker of this in step 595. If the Seeker does not like the alternate Speaker selected, then the Seeker is thanked and the call is terminated as in step 560.

An exemplary embodiment for searching the database for an appropriate alternate Speaker is illustrated in FIG. 6. In one embodiment, the search would be limited to the Speakers in the same subject matter as the initial Speaker. Speakers are arranged by subject matter on the list of Speakers, simplifying the exclusion of Speakers that are not in the same category. In one embodiment, the search pool would also exclude the initial Speaker and any Speaker listed as being not available at that time.

Before starting the search, a set of parameters is initialized in step 610. In one embodiment, the total number of Speakers being sorted (n), an index number (s), and an alternate Speaker index (CS) could be used to keep track of whether all the Speakers in that field have been searched through and if any viable alternates have been found. The index number would indicate which Speaker in the pool the system is looking at and the alternate Speaker index would indicate the current Speaker (e.g. the least expensive, the most reliable, or other criteria deemed important). The nature of the other parameters depends on the type of criteria the system, or in some embodiments the user, want to use to sift through the database. For example, the criteria of price (P(s)) and reliability (R(s)) could be used. A set percentage (p) of the selected Speaker's price (P0) would be established as the maximum variance, while a minimum reliability index (r) is also set. The criteria p could be expressed as a decimal. One embodiment of the reliability index would be the number of successful connections between that Speaker and previous users divided by total number of connections attempted. First time Speakers could be given either a unity reliability index to make sure that new Speakers are not constantly ignored, or a zero reliability index to make it more likely that the Seeker will get somebody who will be there. The current Speaker could be judged against a reliability index of r and a price of (1+p) times P0. Other criteria, such as whether the Speaker is part of a recognized group, entity, or company, could be used as well. Alternate Speaker index CS is set to −1 or some other number that it could not possibly reach otherwise. This setting is selected so that the system knows whether or not any viable alternate Speaker was found. Speaker index s is set to 0 to examine the first Speaker in the field.

The algorithm displayed is rather simple. In step 620, the price for Speaker 0 is checked against the selected Speaker's price. If the price is greater than or equal to the maximum tolerance for the initial Speaker's price, the system follows Loop 1 in FIG. 6 and increments the Speaker index s at step 630. If the price for Speaker 0 is less than the maximum tolerance for the initial Speaker's price, then the system moves to step 640 and the reliability index is considered. If the reliability index is less than or equal to the minimum reliability index r, the system follows Loop 2 and increments the Speaker index s at step 630. If the reliability index of Speaker s is greater than the minimum reliability index r, then the alternate Speaker index CS is set to the index of that Speaker s in step 650. Additionally in step 650, the reliability index for that Speaker becomes the new minimum reliability index r. The system follows Loop 3 and increments the Speaker index at step 630. If the Speaker index s is less than the total number of Speakers n at step 660, then the process is repeated. If not, then the alternate Speaker index CS is examined at step 670. If the alternate Speaker index CS equals −1, or whatever other impossible number it was originally set to, then this means that no alternate Speaker was found, and such a message is sent to the Seeker at step 680. If alternate Speaker index CS equals a positive integer, then the Speaker noted by that index is selected as the alternate Speaker at step 690. In theory, this will be the Speaker with the highest reliability index, or the first Speaker found at that index.

The algorithm is only exemplary and can be altered to suit the needs of the system manager. For example, the Speaker with the lowest price could be sought out, or the lowest price at the highest reliability index. In addition, other criteria can be introduced into the system and the algorithm could be adjusted accordingly. The current algorithm can also be altered to increase speed and efficiency.

The search for alternate Speakers does not apply solely to occasions where the initial Speaker is unable to reply. An alternate Speaker could be provided to supplement the advice of the initial Speaker. An exemplary embodiment of this is shown in FIG. 7. As before, the system provides a list of service providers at step 700 and the Seeker chooses the one he prefers at step 710. The system then connects the Seeker with the Speaker at step 720, and the Speaker advises the Seeker as before in step 730. As embodied here, the system searches the database for alternate Speakers at step 740 after the initial Speaker advises the Seeker, but this search can occur anytime after the Seeker has selected a Speaker. At step 750, the Seeker would be asked whether he desires to hear a second opinion from a second Speaker. If he does, the system will then connect him with the alternate Speaker, as it did in step 720. If not, the Seeker's call is completed 760.

The information providers are not necessarily limited to live service providers. A service provider can pre-record information on a topic that can be played over the telephone for the user who has selected it. These recorded answers could be used standing alone or to complement an existing live-answer service provider, another recorded service provider, or another recording by the same service provider. Additionally if the service provider should be unable to respond to a connection, she could have a previously prepared tape on the listed subject that the user could be referred to.

An alternate embodiment would be for a user that has communicated with a service provider to hear recorded materials on that subject. Additionally, a user that has listened to a recording could then choose to hear more from the person in question, either live or by a recording on a different subject.

One embodiment would be a form of advertising. The user could select a cheaper recording by the desired service provider. After having listened and evaluated the recording, the user could then choose to pay more to hear the person live. This way impulse buying of service provider opinions could be increased, in addition to giving the user a less expensive method of evaluating the service provider's skills and knowledge before purchase. In one embodiment, the user could receive a condensed version of the information from the recording then go in depth with the live service provider.

In an alternative embodiment illustrated by the flowchart of FIG. 8, the patch-through need not connect the user with an alternate service provider if the user decides against having an alternate. This embodiment would attempt to connect the user with a service provider. In the event that the attempts to connect with the alternate service provider prove unsuccessful 800, the user is provided with a set of options 810. The user can choose to be provided with an alternate provider 500, in which case the system would follow the method illustrated on the flowchart of FIG. 5. The user could also choose to leave a message on voice mail 820, then have the connection terminated 830. In an alternate embodiment, the user could choose to have the service provider call them back 840. The user would set the phone number at which the user would be contacted 850, and set a time limit within which the service provider was to call 860. After the call back is set up, the connection would be terminated 830.

When the systems and methods of the present invention are incorporated as part of a network application that establishes a real-time communications connection between an information provider and a customer or user through a communications network, the possibility that the user will actually connect with an information provider increases. In addition, by supplementing the provider's information service with second opinions or informational recordings, the user is given a more complete experience by the application. By allowing customers to screen service providers by first listening to recordings by the service providers before being patched through to the live service provider, customer satisfaction can also be increased.

The method and apparatus disclosed herein may be integrated into advanced Internet- or network-based knowledge systems as related to information retrieval, information extraction, and question and answer systems. FIG. 6 is an example of one embodiment of a computer system. The system shown has a processor 601 coupled to a bus 602. Also shown coupled to the bus are a memory 603 which may contain instructions 604. Additional components shown coupled to the bus are a storage device 605 (such as a hard drive, floppy drive, CD-ROM, DVD-ROM, etc.), an input device 606 (such as a keyboard, mouse, light pen, bar code reader, scanner, microphone, joystick, etc.), and an output device (such as a printer, monitor, speakers, etc.). Of course, an exemplary computer system could have more components than these or a subset of the components listed.

The method described above can be stored in the memory of a computer system (e.g., set top box, video recorders, etc.) as a set of instructions to be executed. In addition, the instructions to perform the method described above could alternatively be stored on other forms of machine-readable media, including magnetic and optical disks. For example, the method of the present invention could be stored on machine-readable media, such as magnetic disks or optical disks, which are accessible via a disk drive (or computer-readable medium drive). Further, the instructions can be downloaded into a computing device over a data network in a form of compiled and linked version.

Alternatively, the logic to perform the methods as discussed above could be implemented in additional computer and/or machine readable media, such as discrete hardware components as large-scale integrated circuits (LSI's), application-specific integrated circuits (ASIC's), firmware such as electrically erasable programmable read-only memory (EEPROM's), etc.

Although the present invention has been described with reference to specific exemplary embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. 

1. A system comprising: a first logic unit to provide a list of service providers to a user, indicating an availability of each of the service providers; a second logic unit to receive a selection from the user of a service provided by a selected service provider; a third logic unit to attempt to establish a real-time communications connection between the user and the selected service provider; and a fourth logic unit to search a database of service providers for an alternate service provider based on a pre-established set of criteria and to offer the user an option of connecting with the alternate service provider.
 2. The system of claim 1, wherein the fourth logic unit presents the alternate service provider if the user fails to connect with the selected service provider.
 3. The system of claim 1, wherein the fourth logic unit presents the alternate service provider after the user has completed the real-time communications connection with the selected service provider.
 4. The system of claim 1, wherein the selected service provider is an information provider.
 5. The system of claim 4, wherein information provided by the information service provider is provided as a recorded transmission.
 6. The system of claim 4, wherein information provided by the information service provider is provided as a communication with a live person.
 7. The system of claim 1, wherein the selection from the user of the selected service provider is received over a telephone connection.
 8. The system of claim 1, wherein the selection from the user of the selected service provider is received over an Internet connection.
 9. The system of claim 1, wherein the pre-established set of criteria includes a rate of the alternate service provider.
 10. The system of claim 9, wherein the rate is determined to be a match if the rate is within a predetermined range of the rate of the selected service provider.
 11. The system of claim 1, wherein the pre-established set of criteria includes subject matter.
 12. The system of claim 1, wherein the pre-established set of criteria includes a combination of separate criteria.
 13. The system of claim 1, wherein a system administrator establishes the pre-established set of criteria.
 14. The system of claim 1, wherein the user establishes the pre-established set of criteria.
 15. The system of claim 1, wherein the pre-established set of criteria includes a reliability factor.
 16. The system of claim 15, wherein the reliability factor consists of a ratio of successful connections between the alternate service provider and previous users of a service provided by the alternate service provider to total attempts between the alternate service provider and previous users of the service provided by the alternate service provider.
 17. A method comprising: sending, via a computing device, a user a list of personal service providers with an availability of each of the personal service providers indicated; receiving, via the computing device, from the user a selection of a selected personal service provider; attempting, via the computing device, to establish real-time communications between the user and the selected personal service provider; and offering, via the computing device, the user an option to connect to an alternate personal service provider.
 18. A method comprising: giving a selected personal service provider an option of connecting, via a communication network, a user to a database of personal service providers when the selected personal service provider can not be reached; searching the database, via a computing device, for at least one matching alternate personal service provider that matches the selected personal service provider based on a pre-established set of criteria; and providing, via the communication network, the user with a list of the at least one matching alternate personal service provider.
 19. A tangible machine-readable storage medium storing instructions which when executed by a computing device cause the computing device to perform a method comprising: sending a user a list of personal service providers with the availability of each personal service provider indicated; receiving from the user a selection of a selected personal service provider; attempting to establish real-time communications between the user and the selected personal service provider; and offering the user an option to connect to an alternate personal service provider. 